/**
 * Copyright &copy; 2020 <a href="https://github.com/somowhere/exam-system">exam-system</a> All rights reserved.
 */
package com.shanhesoft.java.modules.exam.domain.dto;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

import javax.validation.constraints.Size;

import com.shanhesoft.java.common.core.vo.DataDto;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 试卷管理Dto 试卷管理
 * @author admin
 * @version 2020-09-26 16:09:29
 */
@Data @ToString @NoArgsConstructor @AllArgsConstructor
public class PaperDto extends DataDto<String> {

	private static final long serialVersionUID = 1L;
	/** F_TERMSID terms_id  :  学期ID */
	public static final String F_TERMSID = "termsId";
	/** F_COURSEID course_id  :  课程ID */
	public static final String F_COURSEID = "courseId";
	/** F_NAME name  :  试卷名称 */
	public static final String F_NAME = "name";
	/** F_DURATION duration  :  考试时长，单位秒 */
	public static final String F_DURATION = "duration";
	/** F_DIFFICULTY difficulty  :  试卷难度 */
	public static final String F_DIFFICULTY = "difficulty";
	/** F_ATTENTION attention  :  考试注意事项 */
	public static final String F_ATTENTION = "attention";
	/** F_TYPE type  :  试卷类型:0-考试，1-模拟，2-练习 */
	public static final String F_TYPE = "type";
	/** F_SINGLESCORE single_score  :  单选题分配分数 */
	public static final String F_SINGLESCORE = "singleScore";
	/** F_MULTIPLESCORE multiple_score  :  多选题分配分数 */
	public static final String F_MULTIPLESCORE = "multipleScore";
	/** F_JUDGESCORE judge_score  :  判断题分配分数 */
	public static final String F_JUDGESCORE = "judgeScore";
	/** F_FILLSCORE fill_score  :  填空题分配分数 */
	public static final String F_FILLSCORE = "fillScore";
	/** F_PROBLEMSSCORE problems_score  :  编程题分配分数 */
	public static final String F_PROBLEMSSCORE = "problemsScore";
	/** F_LANGID lang_id  :  试卷所属编程语言 */
	public static final String F_LANGID = "langId";
	/** F_PARTICIPATENUM participate_num  :  已参加人数 */
	public static final String F_PARTICIPATENUM = "participateNum";
	/** F_NUMTYPE num_type  :  题目编号方式 */
	public static final String F_NUMTYPE = "numType";
	/** F_AVATARURL avatar_url  :  图片路径 */
	public static final String F_AVATARURL = "avatarUrl";
	/** F_STARTTIME start_time  :  考试开始时间 */
	public static final String F_STARTTIME = "startTime";
	/** F_ENDTIME end_time  :  考试结束时间 */
	public static final String F_ENDTIME = "endTime";
	/** F_PUBLISHFLAG publish_flag  :  发布状态 */
	public static final String F_PUBLISHFLAG = "publishFlag";

	/** termsId 学期ID */
 	@Size(max=50)
	private String termsId;
	/** courseId 课程ID */
	 @Size(max=50)
	private String courseId;
	/** name 试卷名称 */
 	@Size(max=255)
	private String name;
	/** duration 考试时长，单位秒 */
	private Long duration;
	/** difficulty 试卷难度 */
	private Long difficulty;
	/** attention 考试注意事项 */
	 @Size(max=255)
	private String attention;
	/** type 试卷类型:0-考试，1-模拟，2-练习 */
	private Long type;
	/** singleScore 单选题分配分数 */
	private Long singleScore;
	/** multipleScore 多选题分配分数 */
	private Long multipleScore;
	/** judgeScore 判断题分配分数 */
	private Long judgeScore;
	/** fillScore 填空题分配分数 */
	private Long fillScore;

	/** problemsScore 编程题分配分数 */
	private Long problemsScore;

	/** langId 试卷所属编程语言 */
 	@Size(max=50)
	private String langId;
	/** participateNum 已参加人数 */

	private Long participateNum;

	/** num_type 题目编号方式：0-整体编号，1-分段编号 */
	private Long numType;

	/** avatar_url 图片路径 */
	private String avatarUrl;

	/** start_time 考试开始时间 */
	private Date startTime;

	/** end_time 考试结束时间 */
	private Date endTime;

	/** publish_flag 发布状态 */
	private String publishFlag;

	private List<Map<String, Object>> singleList;

	private List<Map<String, Object>> multipleList;

	private List<Map<String, Object>> judgeList;

	private List<Map<String, Object>> fillList;

	private List<Map<String, Object>> problemsList;

}
